![]() |
![]() |
![]() | |
![]() ![]() ![]() ![]()
╠φεπε∩ε≥ε≈φε±≥ⁿ |
╤Φφ⌡≡εφΦτα÷Φ ∩ε≥εΩεΓ╠φεπε∩ε≥ε≈φ√Θ ≡σµΦ∞ ≡αßε≥√ ε≥Ω≡√Γασ≥ φεΓ√σ Γετ∞εµφε±≥Φ Σδ ∩≡επ≡α∞∞Φ±≥εΓ, εΣφαΩε τα ²≥Φ Γετ∞εµφε±≥Φ ∩≡Φ⌡εΣΦ≥± ≡α±∩δα≈ΦΓα≥ⁿ± ≤±δεµφσφΦσ∞ ∩≡ε÷σ±±α ∩≡εσΩ≥Φ≡εΓαφΦ ∩≡ΦδεµσφΦ Φ ε≥δαΣΩΦ. ╬±φεΓφα ≥≡≤Σφε±≥ⁿ, ± Ωε≥ε≡εΘ ±≥αδΩΦΓα■≥± ∩≡επ≡α∞∞Φ±≥√, φΦΩεπΣα φσ ±ετΣαΓαΓ°Φσ ≡αφσσ ∞φεπε∩ε≥ε≈φ√σ ∩≡ΦδεµσφΦ , ²≥ε ±Φφ⌡≡εφΦτα÷Φ εΣφεΓ≡σ∞σφφε ≡αßε≥α■∙Φ⌡ ∩ε≥εΩεΓ. ─δ ≈σπε Φ ΩεπΣα εφα φ≤µφα? ╬Σφε∩ε≥ε≈φα ∩≡επ≡α∞∞α, ≥αΩα , φα∩≡Φ∞σ≡, ΩαΩ ∩≡επ≡α∞∞α MS-DOS, ∩≡Φ τα∩≤±Ωσ ∩εδ≤≈ασ≥ Γ ∞εφε∩εδⁿφεσ ≡α±∩ε≡ µσφΦσ Γ±σ ≡σ±≤≡±√ Ωε∞∩ⁿ■≥σ≡α. ╥αΩ ΩαΩ Γ εΣφε∩ε≥ε≈φεΘ ±Φ±≥σ∞σ ±≤∙σ±≥Γ≤σ≥ ≥εδⁿΩε εΣΦφ ∩≡ε÷σ±±, εφ Φ±∩εδⁿτ≤σ≥ ²≥Φ ≡σ±≤≡±√ Γ ≥εΘ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ, Ωε≥ε≡α ±εε≥Γσ≥±≥Γ≤σ≥ δεπΦΩσ ≡αßε≥√ ∩≡επ≡α∞∞√. ╧≡ε÷σ±±√ Φ ∩ε≥εΩΦ, ≡αßε≥α■∙Φσ εΣφεΓ≡σ∞σφφε Γ ∞φεπε∩ε≥ε≈φεΘ ±Φ±≥σ∞σ, ∞επ≤≥ ∩√≥α≥ⁿ± εß≡α∙α≥ⁿ± εΣφεΓ≡σ∞σφφε Ω εΣφΦ∞ Φ ≥σ∞ µσ ≡σ±≤≡±α∞, ≈≥ε ∞εµσ≥ ∩≡ΦΓσ±≥Φ Ω φσ∩≡αΓΦδⁿφεΘ ≡αßε≥σ ∩≡ΦδεµσφΦΘ. ╧ε ±φΦ∞ ²≥ε φα ∩≡ε±≥ε∞ ∩≡Φ∞σ≡σ. ╧≤±≥ⁿ ∞√ ±ετΣασ∞ ∩≡επ≡α∞∞≤, Γ√∩εδφ ■∙≤■ ε∩σ≡α÷ΦΦ ± ßαφΩεΓ±ΩΦ∞ ±≈σ≥ε∞. ╬∩σ≡α÷Φ ±φ ≥Φ φσΩε≥ε≡εΘ ±≤∞∞√ Σσφσπ ±ε ±≈σ≥α ∞εµσ≥ ∩≡εΦ±⌡εΣΦ≥ⁿ Γ ±δσΣ≤■∙σΘ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ: ┼±δΦ ε∩σ≡α÷Φ ≤∞σφⁿ°σφΦ ≥σΩ≤∙σπε ±≈σ≥α Γ√∩εδφ σ≥± Γ εΣφε∩ε≥ε≈φεΘ ±Φ±≥σ∞σ, ≥ε φΦΩαΩΦ⌡ ∩≡εßδσ∞ φσ ΓετφΦΩφσ≥. ╬ΣφαΩε ∩≡σΣ±≥αΓΦ∞ ±σßσ, ≈≥ε ΣΓα ∩≡ε÷σ±±α ∩√≥α■≥± εΣφεΓ≡σ∞σφφε Γ√∩εδφΦ≥ⁿ ≥εδⁿΩε ≈≥ε ε∩Φ±αφφ≤■ ε∩σ≡α÷Φ■ ± εΣφΦ∞ Φ ≥σ∞ µσ ±≈σ≥ε∞. ╧≤±≥ⁿ ∩≡Φ ²≥ε∞ φα ±≈σ≥≤ φα⌡εΣΦ≥± 5 ∞δφ. Σεδδα≡εΓ, α εßα ∩≡ε÷σ±±α ∩√≥α■≥± ±φ ≥ⁿ ± φσπε ∩ε 3 ∞δφ. Σεδδα≡εΓ. ─ε∩≤±≥Φ∞, ±εß√≥Φ ≡ατΓε≡α≈ΦΓα■≥± ±δσΣ≤■∙Φ∞ εß≡ατε∞: ┬ ≡στ≤δⁿ≥α≥σ ∩εδ≤≈Φδε±ⁿ, ≈≥ε ±ε ±≈σ≥α, φα Ωε≥ε≡ε∞ φα⌡εΣΦδε±ⁿ 5 ∞δφ. Σεδδα≡εΓ, ß√δε ±φ ≥ε 6 ∞δφ. Σεδδα≡εΓ, Φ ∩≡Φ ²≥ε∞ ≥α∞ ε±≥αδε±ⁿ σ∙σ 2 ∞δφ. Σεδδα≡εΓ! ╚≥επε - ßαφΩ≤ φαφσ±σφ ≤∙σ≡ß Γ 3 ∞δφ. Σεδδα≡εΓ. ╩αΩ µσ ±ε±≥αΓΦ≥ⁿ ∩≡επ≡α∞∞≤ ≤∞σφⁿ°σφΦ ±≈σ≥α, ≈≥εß√ εφα φσ ∩ετΓεδ δα Γ√≥Γε≡ ≥ⁿ ∩εΣεßφεσ? ╬≈σφⁿ ∩≡ε±≥ε - φα Γ≡σ∞ Γ√∩εδφσφΦ ε∩σ≡α÷ΦΘ φαΣ ±≈σ≥ε∞ εΣφΦ∞ ∩≡ε÷σ±±ε∞ φσεß⌡εΣΦ∞ε τα∩≡σ≥Φ≥ⁿ Σε±≥≤∩ Ω ²≥ε∞≤ ±≈σ≥≤ ±ε ±≥ε≡εφ√ Σ≡≤πΦ⌡ ∩≡ε÷σ±±εΓ. ┬ ²≥ε∞ ±δ≤≈ασ ±÷σφα≡ΦΘ ≡αßε≥√ ∩≡επ≡α∞∞√ Σεδµσφ ß√≥ⁿ ±δσΣ≤■∙Φ∞: ╩επΣα ∩σ≡Γ√Θ ∩≡ε÷σ±± ßδεΩΦ≡≤σ≥ ±≈σ≥, εφ ±≥αφεΓΦ≥± φσΣε±≥≤∩σφ Σ≡≤πΦ∞ ∩≡ε÷σ±±α∞. ┼±δΦ Γ≥ε≡εΘ ∩≡ε÷σ±± ≥αΩµσ ∩ε∩√≥ασ≥± ταßδεΩΦ≡εΓα≥ⁿ ²≥ε≥ µσ ±≈σ≥, εφ ß≤Σσ≥ ∩σ≡σΓσΣσφ Γ ±ε±≥ε φΦσ εµΦΣαφΦ . ╩επΣα ∩σ≡Γ√Θ ∩≡ε÷σ±± ≤∞σφⁿ°Φ≥ ±≈σ≥ Φ φα φσ∞ ε±≥αφσ≥± 2 ∞δφ. Σεδδα≡εΓ, Γ≥ε≡εΘ ∩≡ε÷σ±± ß≤Σσ≥ ≡ατßδεΩΦ≡εΓαφ. ╬φ ∩≡εΓσ≡Φ≥ ε±≥α≥εΩ, ≤ßσΣΦ≥± , ≈≥ε ±≤∞∞α φσΣε±≥α≥ε≈φα Φ φσ ß≤Σσ≥ ∩≡εΓεΣΦ≥ⁿ ε∩σ≡α÷Φ■. ╥αΩΦ∞ εß≡ατε∞, Γ ∞φεπε∩ε≥ε≈φεΘ ±≡σΣσ φσεß⌡εΣΦ∞α ±Φφ⌡≡εφΦτα÷Φ ∩ε≥εΩεΓ ∩≡Φ εß≡α∙σφΦΦ Ω Ω≡Φ≥Φ≈σ±ΩΦ∞ ≡σ±≤≡±α∞. ┼±δΦ φαΣ ≥αΩΦ∞Φ ≡σ±≤≡±α∞Φ ß≤Σ≤≥ Γ√∩εδφ ≥ⁿ± ε∩σ≡α÷ΦΦ Γ φσ∩≡αΓΦδⁿφεΘ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ, ²≥ε ∩≡ΦΓσΣσ≥ Ω ΓετφΦΩφεΓσφΦ■ ≥≡≤Σφε εßφα≡≤µΦΓασ∞√⌡ ε°ΦßεΩ. ┬ τ√Ωσ ∩≡επ≡α∞∞Φ≡εΓαφΦ Java ∩≡σΣ≤±∞ε≥≡σφε φσ±ΩεδⁿΩε ±≡σΣ±≥Γ Σδ ±Φφ⌡≡εφΦτα÷ΦΦ ∩ε≥εΩεΓ, Ωε≥ε≡√σ ∞√ ±σΘ≈α± ≡α±±∞ε≥≡Φ∞. ╤Φφ⌡≡εφΦτα÷Φ ∞σ≥εΣεΓ┬ετ∞εµφε±≥ⁿ ±Φφ⌡≡εφΦτα÷ΦΦ ΩαΩ ß√ Γ±≥≡εσφα Γ ΩαµΣ√Θ εß·σΩ≥, ±ετΣαΓασ∞√Θ ∩≡ΦδεµσφΦσ∞ Java. ─δ ²≥επε εß·σΩ≥√ ±φαßµα■≥± τα∙σδΩα∞Φ, Ωε≥ε≡√σ ∞επ≤≥ ß√≥ⁿ Φ±∩εδⁿτεΓαφ√ Σδ ßδεΩΦ≡εΓΩΦ ∩ε≥εΩεΓ, εß≡α∙α■∙Φ⌡± Ω ²≥Φ∞ εß·σΩ≥α∞. ╫≥εß√ Γε±∩εδⁿτεΓα≥ⁿ± τα∙σδΩα∞Φ, Γ√ ∞εµσ≥σ εß· ΓΦ≥ⁿ ±εε≥Γσ≥±≥Γ≤■∙ΦΘ ∞σ≥εΣ ΩαΩ synchronized, ±ΣσδαΓ σπε ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞: public synchronized void decrement() { . . . } ╧≡Φ Γ√τεΓσ ±Φφ⌡≡εφΦτΦ≡εΓαφφεπε ∞σ≥εΣα ±εε≥Γσ≥±≥Γ≤■∙ΦΘ σ∞≤ εß·σΩ≥ (Γ Ωε≥ε≡ε∞ εφ ε∩≡σΣσδσφ) ßδεΩΦ≡≤σ≥± Σδ Φ±∩εδⁿτεΓαφΦ Σ≡≤πΦ∞Φ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞Φ ∞σ≥εΣα∞Φ. ┬ ≡στ≤δⁿ≥α≥σ ∩≡σΣε≥Γ≡α∙ασ≥± εΣφεΓ≡σ∞σφφα τα∩Φ±ⁿ ΣΓ≤∞ ∞σ≥εΣα∞Φ τφα≈σφΦΘ Γ εßδα±≥ⁿ ∩α∞ ≥Φ, ∩≡ΦφαΣδσµα∙≤■ Σαφφε∞≤ εß·σΩ≥≤. ╚±∩εδⁿτεΓαφΦσ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√⌡ ∞σ≥εΣεΓ - Σε±≥α≥ε≈φε ∩≡ε±≥εΘ ±∩ε±εß ±Φφ⌡≡εφΦτα÷ΦΦ ∩ε≥εΩεΓ, εß≡α∙α■∙Φ⌡± Ω εß∙Φ∞ Ω≡Φ≥Φ≈σ±ΩΦ∞ ≡σ±≤≡±α∞, φα∩εΣεßΦσ ε∩Φ±αφφεπε Γ√°σ ßαφΩεΓ±Ωεπε ±≈σ≥α. ╟α∞σ≥Φ∞, ≈≥ε φσ εß τα≥σδⁿφε ±Φφ⌡≡εφΦτεΓα≥ⁿ Γσ±ⁿ ∞σ≥εΣ - ∞εµφε Γ√∩εδφΦ≥ⁿ ±Φφ⌡≡εφΦτα÷Φ■ ≥εδⁿΩε Ω≡Φ≥Φ≈φεπε ⌠≡απ∞σφ≥α ΩεΣα. . . . synchronized(Account) { if(Account.check(3000000)) Account.decrement(3000000); } . . . ╟Σσ±ⁿ ±Φφ⌡≡εφΦτα÷Φ Γ√∩εδφ σ≥± Σδ εß·σΩ≥α Account. ┴δεΩΦ≡εΓΩα ∩ε≥εΩα╤Φφ⌡≡εφΦτΦ≡εΓαφφ√Θ ∩ε≥εΩ, ε∩≡σΣσδσφφ√Θ ΩαΩ ∞σ≥εΣ ≥Φ∩α synchronized, ∞εµσ≥ ∩σ≡σ⌡εΣΦ≥ⁿ Γ ταßδεΩΦ≡εΓαφφεσ ±ε±≥ε φΦσ αΓ≥ε∞α≥Φ≈σ±ΩΦ ∩≡Φ ∩ε∩√≥Ωσ εß≡α∙σφΦ Ω ≡σ±≤≡±≤, ταφ ≥ε∞≤ Σ≡≤πΦ∞ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞ ∞σ≥εΣε∞, δΦßε ∩≡Φ Γ√∩εδφσφΦΦ φσΩε≥ε≡√⌡ ε∩σ≡α÷ΦΘ ΓΓεΣα ΦδΦ Γ√ΓεΣα. ╬ΣφαΩε Γ ≡ Σσ ±δ≤≈ασΓ ∩εδστφε Φ∞σ≥ⁿ ßεδσσ ≥εφΩΦσ ±≡σΣ±≥Γα ±Φφ⌡≡εφΦτα÷ΦΦ, Σε∩≤±Ωα■∙Φσ Γφεσ Φ±∩εδⁿτεΓαφΦσ ∩ε τα∩≡ε±≤ ∩≡ΦδεµσφΦ . ┴δεΩΦ≡εΓΩα φα ταΣαφφ√Θ ∩σ≡ΦεΣ Γ≡σ∞σφΦ╤ ∩ε∞ε∙ⁿ■ ∞σ≥εΣα sleep ∞εµφε ταßδεΩΦ≡εΓα≥ⁿ ∩ε≥εΩ φα ταΣαφφ√Θ ∩σ≡ΦεΣ Γ≡σ∞σφΦ: try { Thread.sleep(500); } catch (InterruptedException ee) { . . . } ┬ Σαφφε∞ ∩≡Φ∞σ≡σ ≡αßε≥α ∩ε≥εΩα Thread ∩≡Φε±≥αφαΓδΦΓασ≥± φα 500 ∞ΦδδΦ±σΩ≤φΣ. ╟α∞σ≥Φ∞, ≈≥ε Γε Γ≡σ∞ εµΦΣαφΦ ∩≡Φε±≥αφεΓδσφφ√Θ ∩ε≥εΩ φσ ε≥φΦ∞ασ≥ ≡σ±≤≡±√ ∩≡ε÷σ±±ε≡α. ╥αΩ ΩαΩ ∞σ≥εΣ sleep ∞εµσ≥ ±ετΣαΓα≥ⁿ Φ±Ωδ■≈σφΦσ InterruptedException, φσεß⌡εΣΦ∞ε ∩≡σΣ≤±∞ε≥≡σ≥ⁿ σπε εß≡αßε≥Ω≤. ─δ ²≥επε ∞√ Φ±∩εδⁿτεΓαδΦ ε∩σ≡α≥ε≡√ try Φ catch. ┬≡σ∞σφφα ∩≡Φε±≥αφεΓΩα Φ ΓετεßφεΓδσφΦσ ≡αßε≥√╠σ≥εΣ√ suspend Φ resume ∩ετΓεδ ■≥, ±εε≥Γσ≥±≥Γσφφε, Γ≡σ∞σφφε ∩≡Φε±≥αφαΓδΦΓα≥ⁿ Φ ΓετεßφεΓδ ≥ⁿ ≡αßε≥≤ ∩ε≥εΩα. ┬ ±δσΣ≤■∙σ∞ ⌠≡απ∞σφ≥σ ΩεΣα ∩ε≥εΩ m_Rectangles ∩≡Φε±≥αφαΓδΦΓασ≥ ±Γε■ ≡αßε≥≤, ΩεπΣα Ω≤≡±ε≡ ∞√°Φ εΩατ√Γασ≥± φαΣ εΩφε∞ α∩δσ≥α: public boolean mouseEnter(Event evt, int x, int y) { if (m_Rectangles != null) { m_Rectangles.suspend(); } return true; } ╨αßε≥α ∩ε≥εΩα ΓετεßφεΓδ σ≥± , ΩεπΣα Ω≤≡±ε≡ ∞√°Φ ∩εΩΦΣασ≥ εΩφε α∩δσ≥α: public boolean mouseExit(Event evt, int x, int y) { if (m_Rectangles != null) { m_Rectangles.resume(); } return true; } ╬µΦΣαφΦσ ΦτΓσ∙σφΦ┼±δΦ Γα∞ φ≤µφε ε≡παφΦτεΓα≥ⁿ ΓταΦ∞εΣσΘ±≥ΓΦσ ∩ε≥εΩεΓ ≥αΩΦ∞ εß≡ατε∞, ≈≥εß√ εΣΦφ ∩ε≥εΩ ≤∩≡αΓδ δ ≡αßε≥εΘ Σ≡≤πεπε ΦδΦ Σ≡≤πΦ⌡ ∩ε≥εΩεΓ, Γ√ ∞εµσ≥σ Γε±∩εδⁿτεΓα≥ⁿ± ∞σ≥εΣα∞Φ wait, notify Φ notifyAll, ε∩≡σΣσδσφφ√∞Φ Γ Ωδα±±σ Object. ╠σ≥εΣ wait ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± δΦßε ± ∩α≡α∞σ≥≡ε∞, δΦßε ßστ ∩α≡α∞σ≥≡α. ▌≥ε≥ ∞σ≥εΣ ∩σ≡σΓεΣΦ≥ ∩ε≥εΩ Γ ±ε±≥ε φΦσ εµΦΣαφΦ , Γ Ωε≥ε≡ε∞ εφ ß≤Σσ≥ φα⌡εΣΦ≥ⁿ± Σε ≥σ⌡ ∩ε≡, ∩εΩα Σδ ∩ε≥εΩα φσ ß≤Σσ≥ Γ√τΓαφ ΦτΓσ∙α■∙ΦΘ ∞σ≥εΣ notify, notifyAll, ΦδΦ ∩εΩα φσ Φ±≥σ≈σ≥ ∩σ≡ΦεΣ Γ≡σ∞σφΦ, ≤Ωαταφφ√Θ Γ ∩α≡α∞σ≥≡σ ∞σ≥εΣα wait. ╩αΩ ∩εδⁿτεΓα≥ⁿ± ∞σ≥εΣα∞Φ wait, notify Φ notifyAll? ╠σ≥εΣ, Ωε≥ε≡√Θ ß≤Σσ≥ ∩σ≡σΓεΣΦ≥ⁿ± Γ ±ε±≥ε φΦσ εµΦΣαφΦ , Σεδµσφ ß√≥ⁿ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√∞, ≥ε σ±≥ⁿ σπε ±δσΣ≤σ≥ ε∩Φ±α≥ⁿ ΩαΩ synchronized: public synchronized void run() { while (true) { . . . try { this.wait(); } catch (InterruptedException e) { } } } ┬ ²≥ε∞ ∩≡Φ∞σ≡σ Γφ≤≥≡Φ ∞σ≥εΣα run ε∩≡σΣσδσφ ÷ΦΩδ, Γ√τ√Γα■∙ΦΘ ∞σ≥εΣ wait ßστ ∩α≡α∞σ≥≡εΓ. ╩αµΣ√Θ ≡ατ ∩≡Φ ε≈σ≡σΣφε∞ ∩≡ε⌡εΣσ ÷ΦΩδα ∞σ≥εΣ run ∩σ≡σΓεΣΦ≥± Γ ±ε±≥ε φΦσ εµΦΣαφΦ Σε ≥σ⌡ ∩ε≡, ∩εΩα Σ≡≤πεΘ ∩ε≥εΩ φσ Γ√∩εδφΦ≥ ΦτΓσ∙σφΦσ ± ∩ε∞ε∙ⁿ■ ∞σ≥εΣα notify. ═Φµσ ∞√ ∩≡ΦΓσδΦ ∩≡Φ∞σ≡ ∩ε≥εΩα, Γ√τ√Γα■∙ΦσΘ ∞σ≥εΣ notify: public void run() { while (true) { try { Thread.sleep(30); } catch (InterruptedException e) { } synchronized(STask) { STask.notify(); } } } ▌≥ε≥ ∩ε≥εΩ ≡σαδΦτεΓαφ Γ ≡α∞Ωα⌡ ε≥Σσδⁿφεπε Ωδα±±α, Ωεφ±≥≡≤Ω≥ε≡≤ Ωε≥ε≡επε ∩σ≡σΣασ≥± ±±√δΩα φα ∩ε≥εΩ, Γ√τ√Γα■∙≤■ ∞σ≥εΣ wait. ▌≥α ±±√δΩα ⌡≡αφΦ≥± Γ ∩εδσ STask. ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε ⌡ε≥ ±α∞ ∞σ≥εΣ run φσ ±Φφ⌡≡εφΦτΦ≡εΓαφφ√Θ, Γ√τεΓ ∞σ≥εΣα notify Γ√∩εδφ σ≥± Γ ±Φφ⌡≡εφΦτΦ≡εΓαφφε∞ ≡σµΦ∞σ. ┬ Ωα≈σ±≥Γσ εß·σΩ≥α ±Φφ⌡≡εφΦτα÷ΦΦ Γ√±≥≤∩ασ≥ ∩ε≥εΩ, Σδ Ωε≥ε≡επε Γ√τ√Γασ≥± ∞σ≥εΣ notify. ╬µΦΣαφΦσ ταΓσ≡°σφΦ ∩ε≥εΩα╤ ∩ε∞ε∙ⁿ■ ∞σ≥εΣα join Γ√ ∞εµσ≥σ Γ√∩εδφ ≥ⁿ εµΦΣαφΦσ ταΓσ≡°σφΦ ≡αßε≥√ ∩ε≥εΩα, Σδ Ωε≥ε≡εΘ ²≥ε≥ ∞σ≥εΣ Γ√τΓαφ. ╤≤∙σ±≥Γ≤σ≥ ≥≡Φ ε∩≡σΣσδσφΦ ∞σ≥εΣα join: public final void join(); public final void join(long millis); public final void join(long millis, int nanos); ╧σ≡Γ√Θ Φτ φΦ⌡ Γ√∩εδφ σ≥ εµΦΣαφΦσ ßστ επ≡αφΦ≈σφΦ Γε Γ≡σ∞σφΦ, Σδ Γ≥ε≡επε εµΦΣαφΦσ ß≤Σσ≥ ∩≡σ≡Γαφε ∩≡Φφ≤ΣΦ≥σδⁿφε ≈σ≡στ millis ∞ΦδδΦ±σΩ≤φΣ, α Σδ ≥≡σ≥ⁿσπε - ≈σ≡στ millis ∞ΦδδΦ±σΩ≤φΣ Φ nanos φαφε±σΩ≤φΣ. ╙≈≥Φ≥σ, ≈≥ε ≡σαδⁿφε Γ√ φσ ±∞εµσ≥σ ≤Ωατ√Γα≥ⁿ Γ≡σ∞ ± ≥ε≈φε±≥ⁿ■ Σε φαφε±σΩ≤φΣ, ≥αΩ ΩαΩ ΣΦ±Ω≡σ≥φε±≥ⁿ ±Φ±≥σ∞φεπε ≥αΘ∞σ≡α Ωε∞∩ⁿ■≥σ≡α φα∞φεπε ßεδⁿ°σ. |